import hljs from 'highlight.js';
import 'highlight.js/styles/github.css'; // 引入样式文件

export function highlight(el: HTMLElement) {
    let blocks:NodeListOf<HTMLElement> = el.querySelectorAll('pre code');
    blocks.forEach((block) => {

        // 1.创建ul节点
        const ul = document.createElement('ul');
        const rows = block.outerHTML.split('\n');
        // 2.根据换行符获取行数，根据获取的行数生成行号
        rows.forEach((row, index) => {
            //创建li节点，创建文本节点
            const li = document.createElement('li');
            const num = document.createTextNode(String(index+1));
            //为li追加文本节点，将li加入ul
            li.appendChild(num);
            ul.appendChild(li);
        })
        // 3.给行号添加类名
        ul.className = 'pre-numbering';
        // 4.将ul节点加到 代码块
        block.parentNode?.appendChild(ul);
        // hljs.highlightBlock(block);
        hljs.highlightElement(block);
    });
    // hljs.listLanguages().forEach(language => {
    //     console.log(language);
    // })
}